package org.lex.jdbc.url.persist;

import java.io.IOException;
import java.sql.Driver;
import java.util.List;

import org.lex.jdbc.url.DriverConfig;

public interface IDriverDao {
	public List<DriverConfig> getSystemDrivers();

	public List<DriverConfig> getUserDrivers() throws IOException;

	public DriverConfig getDriverByName(String driverName) throws IOException;

	public DriverConfig getDriverByClassName(String className)
			throws IOException;

	public DriverConfig getDriverByClassName(Class<? extends Driver> className)
			throws IOException;

	public boolean contains(String className) throws IOException;

	public void saveDriver(DriverConfig driver) throws IOException;

	public void updateDriver(DriverConfig oldDriver, DriverConfig newDriver)
			throws IOException;

	public void deleteDriver(DriverConfig driver) throws IOException;
}
